#pragma once
namespace ne{
class GameTime {
public:
	GameTime(void);
	~GameTime(void);
	float Time();		// Time since the start of the application in seconds
	float DeltaTime();	// Time since last frame
	float FrameLimit();	// Get the frame limit

	void _SetFrameLimit(double frameLimit = 60.0) { m_frameLimit = frameLimit; }	// Frame limit defaults to 60, a different value can be set here
	void _ResetElapsedTime();	// We call this each frame to calculate delta time
	bool _UpdateAndRender() { return m_updateAndRender; }		// Check time based on frame limit if we want to update and render

private:
	double m_deltaTime;
	double m_lastTime;
	double m_frameLimit;
	double m_totalTime;
	bool m_updateAndRender;
	Ogre::Timer m_timer;
};
}